#ifndef CONSTANTS_H_
#define CONSTANTS_H_

#define SIDE_SENS_DIFF 0.145 // difference between front-side and side sensors' samples (meters)

// values for event queue
#define ERROR_INDEX -1 // index indicating error in search

#define MAX_SENSOR_RANGE 70.0 // maximal range for a sensor
#define HALF_PI 1.570796 // use hard-coded value in order to save run-time computations

// values for color-object-tracker
#define MIN_DIST_TO_OBJ 0.49 // distance (meters) to object, indicating robot's arm can reach it
#define ERROR_POSITION -500.0 // distance to object indicating that object is not visible

#define TIME_TO_REACH_OBJ 5 // time (seconds) needed to drive towards the object
#define IMAGE_WIDTH 640 // number of pixels of kinect's image width
#define CENTER_BIN_WIDTH 80 // number of pixels of bin indicating object is aligned with robot
#define BIN_SIZE 40 // number of pixels of each non-center bin

// values for sensor-node
#define DELIMITER ":" // delimiter between values in subscribing message

namespace sensors_names {

	// enumerates the rover's sensors
	enum ordinal {
		FRONT_LASER,
		FRONT_RIGHT_LASER,
		FRONT_LEFT_LASER,
		RIGHT_LASER,
		RIGHT_US,
		LEFT_LASER,
		LEFT_US,
		BACK_LASER,
		BACK_US,
		FRONT_LASER_RANGE,
		NUM_ITEMS
	};
}

#endif
